﻿<Application x:Class="Unscrambler.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:localViewModels="clr-namespace:Unscrambler.ViewModels;assembly=UnscramblerViewModels"
             xmlns:localSettings="clr-namespace:Unscrambler.Settings;assembly=UnscramblerViewModels"
             xmlns:localData="clr-namespace:Unscrambler.Data;assembly=UnscramblerViewModels"
             xmlns:system="clr-namespace:System;assembly=mscorlib"
             xmlns:xlinq="clr-namespace:System.Xml.Linq;assembly=System.Xml.Linq"

             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <localSettings:GameSettings x:Key="gameSettings" WordsPerRound="3" SecondsPenaltyPerHint="120" />
        <ObjectDataProvider x:Key="WordsInXml" ObjectType="{x:Type xlinq:XElement}" MethodName="Parse">
            <ObjectDataProvider.MethodParameters>
                <system:String xml:space="preserve">
<![CDATA[
<words>
  <word>computer</word>
  <word>monitor</word>
  <word>superimpose</word>
  <word>burdensome</word>
  <word>keyboard</word>
  <word>mouse</word>
  <word>drawer</word>
  <word>ignorant</word>
  <word>camera</word>
  <word>composure</word>
  <word>snowpants</word>
  <word>malignant</word>
  <word>imposing</word>
  <word>magnificent</word>
  <word>ridiculous</word>
  <word>scenery</word>
  <word>overlook</word>
  <word>spinster</word>
  <word>wilderness</word>
  <word>millenium</word>
  <word>jaguar</word>
  <word>overlord</word>
  <word>mollusk</word>
  <word>exonerate</word>
  <word>flotsam</word>
  <word>nuclear</word>
  <word>philanthropy</word>
  <word>egalitarian</word>
  <word>industry</word>
  <word>laminate</word>
  <word>lambast</word>
  <word>attack</word>
  <word>melange</word>
  <word>menagerie</word>
  <word>happiness</word>
  <word>heartfelt</word>
  <word>juxtapose</word>
  <word>jocular</word>
  <word>lactose</word>
  <word>platter</word>
  <word>heather</word>
  <word>enraged</word>
  <word>combat</word>
  <word>clutter</word>
  <word>trounce</word>
  <word>thorough</word>
  <word>dessert</word>
  <word>dazzling</word>
  <word>defiant</word>
  <word>elegant</word>
  <word>effervescent</word>
  <word>example</word>
  <word>trample</word>
  <word>slither</word>
  <word>spelunk</word>
  <word>knowledge</word>
  <word>knicknack</word>
  <word>gnocci</word>
  <word>gathering</word>
  <word>gorged</word>
  <word>gallant</word>
  <word>flippant</word>
  <word>facsimile</word>
  <word>infamous</word>
  <word>possibility</word>
  <word>negative</word>
  <word>northward</word>
  <word>twister</word>
  <word>winsome</word>
  <word>wrathful</word>
  <word>wayfare</word>
  <word>plyometric</word>
  <word>martyrdom</word>
  <word>violence</word>
  <word>mushroom</word>
    <word>cistern</word>
    <word>stamina</word>
    <word>glamourous</word>
    <word>legume</word>
    <word>meander</word>
    <word>whittle</word>
    <word>flamboyant</word>
    <word>foist</word>
    <word>outright</word>
    <word>writhe</word>
    <word>sequester</word>
    <word>clique</word>
    <word>briefed</word>
    <word>hitherto</word>
    <word>silvery</word>
    <word>splinter</word>
    <word>phonics</word>
    <word>chicken</word>
    <word>atrophy</word>
    <word>upstream</word>
    <word>undertow</word>
    <word>riptide</word>
    <word>dirigible</word>
    <word>blistered</word>
    <word>crawdad</word>
    <word>syringe</word>
    <word>psychiatrist</word>
    <word>pseudonym</word>
    <word>homophone</word>
</words>
]]>                
                </system:String>
                <xlinq:LoadOptions>PreserveWhitespace</xlinq:LoadOptions>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>

        <localData:RandomWordChooser x:Key="randomWordChooser" WordsXml="{Binding Source={StaticResource WordsInXml}}"/>
        <localViewModels:GameboardViewModel x:Key="gameboardViewModel" x:Shared="True" 
                                            GameSettings="{StaticResource gameSettings}"
                                            RandomWordChooser="{StaticResource randomWordChooser}"/>
        <localViewModels:GameViewModel x:Key="gameViewModel" x:Shared="true" GameboardViewModel="{StaticResource gameboardViewModel}"/>
    </Application.Resources>
</Application>
